Cross correlation is a mathematical operation in which two signals (in the time domain) are compared with one another, usually over a fixed length of each signal. The comparison returns a third signal, which is normally the magnitude of the similarity between the two signals, at various delays between the two signals. This is expressed mathematically as:
                                          R            fg                    ⁡                      (            τ            )                          =                              ∫                                          -                T                            /              2                                      T              /              2                                ⁢                                    f              ⁡                              (                t                )                                      ⁢                          g              ⁡                              (                                  t                  +                  τ                                )                                      ⁢                          ⅆ              t                                                          (        1        )            where Rfg(τ) is the cross-correlation function at delay τ for the two signals f(t) and g(t) evaluated over the time interval −T/2 to T/2.
Cross-correlation is extremely important in modern telecommunications systems, mainly due it being a key operation in a class of modulation systems called Code-Division Multiple Access (CDMA) systems. CDMA systems make very efficient use of the available telecommunications spectra, and are therefore at the time of this application the first choice in most wireless data systems, including GSM (Global System for Mobile communication), HSDPA (High-speed Download Packet Access) and various other widely used mobile data networks. The principles of CDMA are also used, in somewhat different form, in GNSS (Global Navigation Satellite Systems) networks such as the GPS (Global Positioning System) network and the GLONASS (Global Navigation Satellite System) network.
The signals transmitted over a CDMA system are encoded before transmission, in such a way as to spread their energy over a wider spectral bandwidth than that used by the raw signal. This improves their noise immunity and allows several signals to share the same spectral band. At the core of all CDMA receivers is a processing system that must cross-correlate the encoded incoming signals with local copies of the codes which were used to encode the transmission. This cross-correlation is effectively the decoding operation, Cross-correlating an encoded signal with the original code used to encode it reveals the original raw signal. Cross-correlation is therefore an essential operation in all CDMA systems.
Conventional cross-correlation is, however, a computationally intensive operation, particularly in mobile systems, and according consumes large amounts of energy, a valuable commodity in most mobile devices. Moving transmitters or receivers send or receive Doppler-shifted signals (these are signals whose frequencies are altered by the relative motion between transmitter and receiver). The demodulation (decoding) of the signal will not work if only one of the two signals to be correlated has a significant Doppler shift. It therefore becomes necessary to run several cross-correlations in parallel, using a variety of artificially Doppler-shifted versions of the local code. This is particularly a problem in GPS systems. A typical GPS system may need to decode with respect to 32 codes, and with up to 20 Doppler shifted variants of each code, meaning that over 600 correlation operations, must run in parallel. This is a core reason why integration of GPS systems into mobile phones, for example, has been slow: the GPS receivers consume a large amount of power.
It has been estimated that up to 40% of the power usage in a handheld GPS device can be attributed to cross-correlation operations.
The standard approach to cross-correlation is digital signal processing (DSP). The incoming signal is sampled (digitized) and stored in memory. The cross-correlation is then calculated mathematically and numerically. Such calculations are typically slow, intrinsically serial in nature, and consume a large amount of power.
Neuromorphic systems are engineering systems that are based on biological neural principles. They endeavor to copy the successful methods which have evolved in living organisms. Living organisms make a great deal of use of cross-correlation. For example, to estimate the motion of an object which is seen in the visual field, or to estimate the position from where sound originates, requires cross-correlation of visual or auditory signals.
Insect eyes, which consist of multiple individual segments, have already been copied to develop a useful electronic cross-correlator. They have an intrinsic pixel-by-pixel structure which translates well into digital systems. The technology is called a RAKE array and forms the basis of some commercially available GPS receivers.
Mammalian vision and auditory systems do not use the same approach as insects. It is not yet known how they cross-correlate, but structures equivalent to the insect systems have been searched for and, to the best of the applicant's knowledge, have not been found.
A model for mammalian cross-correlation which makes use of neural structures called half-center oscillators, which are widespread in the mammalian nervous system, has been proposed.
One advantage of this approach is that it is extremely robust to noise. Mammalian neural systems make use of very low electrical potential levels, and have chemical transmission paths that are inherently stochastic. This means that any system used in mammals will be intrinsically robust to noise. This advantage is one of the keys to the neuromorphic engineering approach. There has been a consistent trend towards the use of lower voltages in integrated circuits, as lower voltage circuits require less power. However, as the voltages get lower, the role of noise in circuits becomes more significant. The neuromorphic approach is that, instead of trying to mitigate noise, one should start with a process that is inherently robust to noise, and that such processes can be found in biological systems.
The basis of the present invention lies in the method of sampling the signal. In conventional signal processing, a time series is created from an analog signal by quantizing (measuring) the signal at evenly distributed times; the separation of the times is referred to as the sampling rate. If the signal is sampled at a sufficiently high sampling rate, and with sufficient accuracy in amplitude, then the resulting time series is considered to be an accurate representation of the original signal. This is the basic operation with which most digital signal processing starts.
An alternative way of sampling a signal is referred to as event-based or integral sampling. In event-based sampling, the analog signal is fed into an integrator circuit, which integrates the signal as well as associated noise. The slope of the output of the integrator can be altered by also adding a constant, or drift, term. Mathematically the integrator output is defined as follows:
                              v          ⁡                      (            τ            )                          =                                            ∫                              t                0                                                              t                  0                                +                τ                                      ⁢            m                    +          σ          +                                    g              ⁡                              (                t                )                                      ⁢                                                  ⁢                          ⅆ              t                                                          (        2        )            where τ is the interval since the start of integration, v(τ) is the integrator output voltage, m is the drift term, σ is a noise parameter (for example, the standard deviation of some additive Gaussian white noise), and g(t) is the signal.
When this integrated signal reaches some predefined threshold voltage θ, the integrator is reset to zero and a new integration interval begins. This event is often referred to as “firing” or “spiking”.
The information generated by this process is a sequence of firing times t0, t1, . . . tn. It has been shown that if the system is appropriately set up, this sequence of times represents the analog input signal without a loss of information. Whereas the conventional sampling process converts the analog signal into a series of varying amplitudes at fixed times (a time series), event-based sampling (also referred to as integrate-and-fire sampling) converts the signal into a series of fixed events at varying times (this is referred to as an event series).
The mathematical cross-correlation expressed in Eq. 1 above is straightforward to implement if the two signals to be cross-correlated are available as two time series. To cross-correlate the information in event series form is more difficult because, while two times series which are sampled on the same time basis are intrinsically synchronized, the same cannot be said for two event series. The basis of event-based sampling is that the time of the event encodes the signal, so it is not possible to synchronize the times without somehow altering the information.